/**
 * 抽象工厂模式
 * 抽象工厂模式(Abstract Factory Pattern)：提供一个创建一系列相关或相互依赖对象的接口，而无须指定它们具体的类。
 * 抽象工厂模式又称为Kit模式
 */
package creationtype.abstractfactory;
//当系统所提供的工厂所需生产的具体产品并不是一个简单的对象，而是多个位于不同产品等级结构中属于不同类型的具体产品时需要使用抽象工厂模式。
//抽象工厂模式是所有形式的工厂模式中最为抽象和最具一般性的一种形态。
//抽象工厂模式与工厂方法模式最大的区别在于，工厂方法模式针对的是一个产品等级结构，而抽象工厂模式则需要面对多个产品等级结构，
// 一个工厂等级结构可以负责多个不同产品等级结构中的产品对象的创建 。
// 当一个工厂等级结构可以创建出分属于不同产品等级结构的一个产品族中的所有对象时，
// 抽象工厂模式比工厂方法模式更为简单、有效率